<?php
/**
 * Application level Controller
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */
App::uses('Controller', 'Controller');

/**
 * Application Controller
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package		app.Controller
 * @link		http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
 */
class AppController extends Controller {

    public $components = array('DebugKit.Toolbar');
    var $viewClass = 'Smarty';
	
	public function layNhieuThamSoTuForm($arrParams = array(), $default=NULL) {
        $formDatas = array ();
        //case post method        
		
		foreach ($arrParams as $param) {
			$formDatas[$param] = $this->layMotThamSoTuForm($param,$default);
		}
		return $formDatas;
	}

	public function layMotThamSoTuForm($name='', $default=NULL) {
        //if name not blank
        if ($name) {
            $formDatas = array ();
            //post method
            if ($this->request->is('post')) {
                $formDatas = $_POST;
            } else {//get method
                //Merge data
                $formDatas = $_GET;
            }
            //data form not empty
            if (empty($formDatas)) {
                $formDatas = $this->passedArgs;
            }
            //exist form data name
            if (isset($formDatas[$name])) {
                return $this->mb_trim($formDatas[$name]);
            } else if (isset($_FILES[$name])){
            	return $_FILES[$name];
            }
        }

        //Return
        return $default;
    }
	
	public function mb_trim($string) {
        $string = preg_replace("/(^\s+)|(\s+$)/us", "", $string);
        return $string;
    }
	
	public function taoDieuKienTimKiem($thamsoForm = array(),$dsTimGanDung = array(),$dsQuanHe = array()) {
		//debug($thamsoForm); exit();
		$dieuKienTimKiem = array();
		foreach ($thamsoForm as $key => $value) {
			if ($value != '') {
				$modelClass = (!in_array($key, $dsQuanHe)) ? $this->modelClass : '';
				if (!in_array($key, $dsTimGanDung)) {
					if ($key != KEYWORD) {
						$dieuKienTimKiem[$this->modelClass . '.' . $key ] = $value;
					} else {
						$dsTuKhoa = explode(';', $value);
						foreach ($dsTuKhoa as $tuKhoa) {
							$dieuKienTimKiem['OR'][]= array(
								$this->modelClass . '.' . $key . ' like ' => '%' . $tuKhoa . '%'
							);
						}
					}
				} else {					
					$dieuKienTimKiem[$this->modelClass . '.' . $key . ' like '] = '%' . $value . '%';
				}
			}
		}        
        return $dieuKienTimKiem;
    }
}
